package com.pengxun.manager.service.system;


import java.util.List;

import com.pengxun.manager.model.system.RoleMenu;
import com.pengxun.manager.vo.RolePermissionVO;
import com.pengxun.manager.vo.UserPermissionVO;
import com.szeastroc.common.jdbc.page.Page;


public interface  RoleMenuService {
   public int insert(RoleMenu roleMenu);
   
   public int update(RoleMenu roleMenu);
   
   public int delete(Integer id);
   
   public Page findByPage(Page page);
   
   public List<RoleMenu> findByRoleCode(String roleCode,Integer status);
   
   public List<RoleMenu> findByRoleCode(String roleCode);
   
   RoleMenu findByRoleAndPermission(String roleCode,String permissionCode);
   
   /**
    * 
    * 校验用户是否有权限
    * @param userId 
    * @param permissionCode 
    * @return 
    */
   void checkUserPermission(Long userId,String permissionCode);
   
   /**
    * 获取用户所有权限
    * @param userId
    * @return
    */
   UserPermissionVO getUserPermission(Long userId);
   
   /**
    * 获取角色所有权限
    * @param roleCode
    * @return
    */
   RolePermissionVO getRolePermission(String roleCode);
   
   /**
    * 修改用户权限
    * @param rolePermission
    * @return
    */
   void updateRolePermission(RolePermissionVO rolePermission);
   
   /**
    * 删除角色所有权限映射
    * @param roleCode
    * @return
    */
   int deleteByRoleCode(String roleCode);
   
   /**
    * 批量插入
    * @param roleMenus
    * @return
    */
   int batchInsert(List<RoleMenu> roleMenus);
   
   int deleteByMenuCode(String menuCode);
   
   public List<RoleMenu> findByMenuCode(String menuCode);
   
   int deleteByPermissionCode(String permissionCode);
}
